package Leetcode第一期;

public class 把字符串转换成整数_67 {
    public int strToInt(String str) {
        //先转换为字符
        char[] c=str.trim().toCharArray();
        if (c.length==0)return 0;
        int sign=1;//符号位
        int i=1; //索引位
        long result=0;
        //判断符号位
        if(c[0]=='-')sign=-1;
        else if(c[0]!='+')i=0;  //若没有提示是+号开头则从头索引
        for(int j=i;j<c.length;j++){
            if(c[j]<'0'||c[j]>'9') break;
            result=result*10+(c[j]-'0'); //字符运算得出的结果是ASCII值之差
            //若结果溢出
            if(result>Integer.MAX_VALUE) return sign==-1?Integer.MIN_VALUE:Integer.MAX_VALUE;
        }
        return (int) (sign*result);

    }
}
